package com.woniuxy.sale.service;

import com.woniuxy.commons.entity.sale.SoAccount;
import com.woniuxy.commons.entity.sale.vo.sale.SoAccountUpdateVo;
import com.woniuxy.commons.result.Result;
import com.woniuxy.commons.entity.sale.vo.sale.SoAccountVo;

/**
 * <P> @Author: ideaAdmin
 * <P> TODO: Interface
 * <P> TODO: 选货单接口
 * <P> Date: 2022/4/19:14:24
 * <P> Description:
 */

public interface SoAccountService {
    /**
     * <P>Author ideaAdmin
     * <P>TODO: 添加选货单和对应的选货单产品
     * <P>Date 14:33 2022/4/19
     * <P>* @param soAccount
     * <P>* @return com.woniuxy.commons.result.Result
     **/
    Result add(SoAccount soAccount);

    /**
     * <P>Author ideaAdmin
     * <P>TODO:查询所有的选货单信息 并分页
     * <P>Date 17:09 2022/4/19
     * <P>* @param currentPage
     *
     * @param limit
     * @param soAccountVo <P>* @return void
     **/
    Result findSoAccountAll(Integer currentPage, Integer limit, SoAccountVo soAccountVo);

    /**
     * <P>Author ideaAdmin
     * <P>TODO: 根据选货单id 获得它所有的选货信息
     * <P>Date 11:42 2022/4/21
     * <P>* @param soId
     * <P>* @return com.woniuxy.commons.result.Result
     *
     * @param soAccountVo*/
    Result findSoAccountById(SoAccountVo soAccountVo);

    /**
     * <P>Author ideaAdmin
     * <P>TODO: 通过id 设置状态
     * <P>Date 10:16 2022/4/22
     * <P>* @param soAccountUpdateVo
     * <P>* @return com.woniuxy.commons.result.Result
     **/
    Result updateSoAccountStatusById(SoAccountUpdateVo soAccountUpdateVo);
}
